package com.candy.service.impl;

import com.candy.bean.UserInfo;
import com.candy.dao.UserInfoMapper;
import com.candy.service.UserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class UserInfoServiceImpl implements UserInfoService {
    @Autowired
    UserInfoMapper userInfoMapper;

    /**
     * 根据条件获取用户信息列表
     * @param userInfo
     * @return
     */
    @Override
    public List<UserInfo> getUserInfoes(UserInfo userInfo) {
        return userInfoMapper.getUserInfoes(userInfo);
    }

    /**
     * 编辑用户信息
     * @param userInfo
     * @return
     */
    @Override
    public int editUserInfo(UserInfo userInfo) {
//        获取用户主键信息
        Integer userid=userInfo.getId();
        int num=0;
//        如果主键不存在，则执行修改行为
        if (userid!=null){
            num= userInfoMapper.updateByPrimaryKeySelective(userInfo);
        }else {
//            如果主键存在，则执行新增操作
            num=userInfoMapper.insertSelective(userInfo);
        }

        return num;
    }

    /**
     * 用于用户删除操作（一般在进行删除操作时，尽量避免物理删除，采用逻辑删除的方式）
     * 实现思路有两种，一、直接从前端将两个字段信息传递过来(用户的主键、isdelete字段)
     * 二、只传递主键，在后台进行控制将对应的用户的isdelete属性值更改即可
     * @param userId
     * @return
     */

    @Override
    public int deleteUserInfo(Integer userId) {
//        可以通过该方式对用户的字段进行修改，
//        UserInfo userInfo=new UserInfo();
//        userInfo.setId(userId);
//        userInfo.setIsdelete(1);
        return 0;
    }
}
